<?php  if (!defined('BASEPATH')) exit('No direct script access allowed');

require_once APPPATH . 'controllers/main.php';

/**
 * Контроллер получения торрент файла
 *
 * @package CoreFramework
 * @version 1.0
 * @author Gennadiy Kozlenko
 */
class Torrent extends Main {
   
   /**
    * Torrent ID
    * @var int
    */
   var $id = 0;
   
   /**
    * Конструктор класса
    *
    * @access public
    * @return Torrent
    */
   function Torrent() {
      parent::Main();
      if (false !== $this->input->get('id')) {
         $this->id = (int) $this->input->get('id');
      }
      $this->load->helper('torrent');
   } // end Torrent
   
   /**
    * Метод по умолчанию
    *
    * @access public
    */
   function index() {
      $this->load->model('m_video_torrent');
      $this->m_video_torrent->set_id($this->id);

      // Получаем файл
      if (null !== ($content = $this->m_video_torrent->get_content())) {
         // Статистика
         $this->m_video_torrent->download();
         
         // Генерим название
         $this->load->helper('text');
         $this->load->model('m_video');
         $this->m_video->set_id($this->m_video_torrent->get('id_video'));
         $name = $this->m_video->get('title');
         if (0 < $this->m_video->get('year')) {
            $name .= '_' . $this->m_video->get('year');
         }
         $name = transliteration($name);
         $name = url_title($name, 'dash', true);
         $name = substr($name, 0, 200);
         
         // Скачиваем
         $this->load->helper('download');
         force_download($this->id . '_' . $name . '.torrent', $content);
      } else {
         // Невалидный торрент
         $this->output->set_header('HTTP/1.1 404 Not Found');
         $data = array();
         $this->set_content($this->parser->parse('errors/invalid_torrent.html', $data, true));
         $this->display();
      }
   } // end index
   
}
